1. Field of the Invention
The present invention relates to a computer graphics technology.
2. Description of the Related Art
Computer Graphics (CG) is a technique which uses a computer to render a virtual world onto a screen. CG software causes a computer to create CG. CG software is used in various fields for example, architectural design, product design, and image production such as in film production.
CG can be regarded as an image obtained by capturing a virtual world with a virtual camera. To allow a user to see the virtual world from free viewpoints, CG software normally incorporates a mechanism of moving the viewpoint of the virtual camera via an input device such as a mouse or a keyboard.
In the CG software, the viewpoint is manipulated by inputting a change value from the current position and orientation of the viewpoint. In the virtual world, the viewpoint has a total of six degrees of freedom: three degrees of freedom in position and three degrees of freedom in orientation. In an XYZ orthogonal coordinate system, therefore, the six degrees of freedom include positions on X-, Y-, and Z-axes and rotations about them. The viewpoint can be moved continuously by inputting a change value from the current six degrees of freedom of the viewpoint.
CG software uses a keyboard or a mouse to input the change value of six degrees of freedom. The mouse can input only two degrees of freedom (i.e. vertical and horizontal positions). Thus, many CG software applications enable input of six degrees of freedom by, for example, combining the keyboard and mouse. For instance, when the user manipulates the mouse while pressing the X key on the keyboard, rotation about the X-axis changes. Alternatively, a six-degree-of-freedom mouse capable of inputting six degrees of freedom can be used to input the change value of six degrees of freedom.
Recently, a technique called a VR (Virtual Reality) system has been employed in many fields. The VR system presents a CG image created by a computer to a user who is wearing an HMD (Head-Mounted Display), thereby making him/her perceive a virtual space as reality. In the VR system, the CG presented to the user changes in response to movements of his/her head. Hence, the user can feel as though the CG were present in the user's vicinity.
Another technique has also been developed recently, in which a CG image is superimposed on a physical space image and presented to a user who is wearing an HMD. With this technique, the user can see a physical world unavailable using the VR system. This is called an MR (Mixed Reality) system (Japanese Patent Registration No. 3363861).
In either the VR system or MR systems, the position and orientation information of the HMD is acquired by using a six-degree-of-freedom sensor such as a magnetic sensor and replaced with the position and orientation of the viewpoint of the virtual camera that renders CG, thereby rendering the virtual world image seen from the user's viewpoint.
The VR system and MR system can also be constructed using CG software as a rendering unit because they use CG.
To construct a VR system using CG software as a CG rendering unit, a mechanism for receiving position and orientation information from a six-degree-of-freedom sensor must be prepared in the CG software, in advance. Additionally, to cope with various six-degree-of-freedom sensors, the CG software must have a position and orientation information reception mechanism corresponding to each sensor.
Normally CG software has only a mechanism for receiving a change value as a viewpoint manipulation method. To construct a VR system using CG software as a CG rendering unit, the computer program of the CG software must be altered. Therefore construction of VR systems using CG software as a CG rendering unit is very rare.
To construct an MR system using CG software as a CG rendering unit, a mechanism for receiving position and orientation information from a six-degree-of-freedom sensor must be prepared in the CG software, in advance. In addition, the CG software must have a mechanism for receiving a physical world image and compositing it with a CG image. At the moment, no CG software with such a mechanism exists.
For the reasons described above, it is currently difficult to construct a VR system or MR system using CG software as a CG rendering unit. To construct a VR system or MR system, a CG rendering unit is generally built from the ground up for each VR system or MR system. However, if a rendering unit specific to for each VR system or MR system is built, it is impossible to make use of various functions of CG software in the VR system or MR system.